var usuarios = {
		init:function(){
			var usuario = this;
			$('#usuarios').jqGrid({
	           url:'usuarios/index',
	           datatype:'json',
	           mtype:'POST',
	           colNames:['id','nombres','appaterno','apmaterno','dni','username','Creado','Estado'],
	           colModel:[
	               {name:"data[Usuario][id]",hidden:true},
	               {name:"data[Usuario][nombres]",index:'Usuario.nombres',width:150,align:'left',sortable:true,editoptions:{maxlength:250, size:30},editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][appaterno]",index:'Usuario.appaterno',width:150,align:'left',sortable:true,editoptions:{maxlength:250, size:30},editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][apmaterno]",index:'Usuario.apmaterno',width:150,align:'left',sortable:true,editoptions:{maxlength:250, size:30},editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][dni]",index:'Usuario.dni',width:80,align:'left',sortable:true,editoptions:{maxlength:250, size:30},editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][username]",index:'Usuario.username',width:100,align:'left',sortable:true,editoptions:{maxlength:250, size:30},editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][created]",index:'Usuario.created',width:70,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
	               {name:"data[Usuario][estado_id]",index:'Estado.descripcion',width:60,	align:'left',editable: true,edittype:"select",editoptions:{value:"1:Activo;2:Desactivo"},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}}					 
	           ],
		
			   pager:$('#usuarios-pager'),
	           rowNum:10,
	           rowList:[10,20,30],
	           mtype: "POST",
	           viewrecords:true,
	           caption:'Usuarios',
	           height:'180',
	           sortname: "Usuario.username",
	           editurl: 'usuarios/index',
			   toolbar: [true,"top"]
	       });
		   
		    $("#t_usuarios").append("<input type='button' id='contrasenia' value='Establecer contraseña' style='height:20px;font-size:-3'/>&nbsp");
		   
			$('#usuarios').navGrid("#usuarios-pager",{edit:true,add:true,del:true},
				{clearAfterEdit:false,reloadAfterSubmit:true, closeOnEscape:true, afterSubmit:usuario.afterSubmit},
				{clearAfterAdd:true,reloadAfterSubmit:true, closeOnEscape:true,afterSubmit:usuario.afterSubmit},
				{width:270,reloadAfterSubmit:true,closeOnEscape:true},
				{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew'],multipleSearch:true,closeOnEscape:true}
			);
				
			$("#usuarios").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});
			jQuery("#usuarios").jqGrid('setGridWidth',$('#RightPane').width()-50);
			
			$("#t_usuarios input").click(function(){ 
				if ($(this).attr('id') == 'contrasenia') {
					var usuario_id = jQuery("#usuarios").jqGrid('getGridParam', 'selrow');
					if (usuario_id > 0) {
						usuarioIniciarDialogo(usuario_id);
					}
					else {
						$.post("menus/mensaje", {
							mensaje: "Por favor seleccione un usuario",
							titulo: "Establecer Usuario"
						}, function(data){
							$("body").append(data);
							$("#mensajeDialogo").dialog({
								bgiframe: true,
								resizable: false,
								height: 170,
								modal: true,
								autoOpen: true,
								overlay: {
									backgroundColor: '#000',
									opacity: 0.5
								},
								buttons: {
									Ok: function(){
										$(this).remove();
									}
								},
								close: function(){
									$(this).remove();
								}
							});
						});
					}
				}
				return false;
			});
			
			/** llama al archivo que contiene el dialog **/
			function usuarioIniciarDialogo(id){
				$.post("usuarios/getEstablecerContrasenia/"+id,{}, 
					function(data){
				  		$("#usuarios").append(data);
				  		usuarioDialog("Establecer Contraseña");
					}
				);	
			}
			
			/** Carga el formulario de dialogo de los Ordencompra **/
			function usuarioDialog(titulo){
				$("#usuarioDialog").attr({ title: titulo });
			
				$("#usuarioDialog").dialog({
					bgiframe: true,
					autoOpen: true,
					height: 200,
					width: 350,
					modal: true,
					buttons: {
						Guardar: function(){
							if($("#UsuarioRegisterForm").valid()){
								//se guarda o se actualiza la OC
								$('#usuarioSummary').html('');
								usuarioActualizar();
							}
							return false;
						},
						Volver: function() { 
							$(this).remove();
						}
					},
					close: function(){
						$(this).remove();
					}
				});
				
				//valido el formulario orden compra
				var validator = $("#UsuarioRegisterForm").validate();
			
				//muestro el formulario
				$("#usuarioDialog").removeClass('hide');
			}
		}
};


/** Guarda la nueva contrasenia del usuario **/
function usuarioActualizar(){
	$.ajax({
		type:'POST',
		url: "usuarios/actualizar",
		dataType: 'json',
		data: $('#UsuarioRegisterForm').serialize(),
		success: function(response){
			if(response.respuesta) $('#usuarioDialog').find('#usuarioSummary').html('<div class="success"><em class="success">'+response.mensaje+'</em></div>');
			else  $('#usuarioDialog').find('#usuarioSummary').html('<div class="error"><em class="error">'+response.mensaje+'</em></div>');
		}
	});
	return false;
}
